1. Field of the Invention
The present invention relates generally to preference prediction systems, and more specifically to preference prediction systems adapted to predict user's preference with respect to an item and to recommend the item based on the prediction.
2. Discussion of the Related Art
Preference prediction systems typically attempt to predict a user's preferences with respect to a collection of items (e.g., music, movies, TV shows, news articles, web-sites, etc.) and produce a subset of recommended items based on the predicted preferences of the user. Preference prediction systems can typically be classified as content-based, knowledge-based, collaborative, or some combination thereof. Content-based preference prediction systems recommend items that are similar to items the particular user has recommended in the past. Knowledge-based preference prediction systems attempt to recommend items to a user using knowledge about the user and items to reason which items meet the user's requirements.
Collaborative preference prediction systems generate recommendations by collecting preferences (usually in the form of a rating selected from a predetermined rating scale) from individual users about individual items, conditionally aggregating the collected preferences based on a predetermined similarity metric between the individual users; transforming the conditionally aggregated preferences into one or more recommendations, and propagating the one or more recommendations the individual users based on the predetermined similarity metric. Accordingly, conventional collaborative preference prediction systems generally assume that similar users will have similar preferences for the same items and, thus, rate the items similarly. Most collaborative preference prediction systems can typically be classified as case-based or model-based systems.
In case-based systems, a database of rating information for all available user-item combinations is maintained and preference predictions are generated by applying standard database search techniques. Specifically, preference predictions are made by searching the database to find training users (i.e., users having user-item combinations stored on the database) that are similar to a test user (i.e., a current user of the collaborative preference prediction system). To determine similarity, case-based systems define a distance metric between the test user and the training users. One such distance metric is obtained using the Pearson product moment correlation coefficient. Another is the cosine measure, which is a special case of the Pearson metric with a zero mean. Another metric, similar to the TF-IDF approach, gives higher weight to users who rate infrequently. Yet another alternative employs a “case amplification” approach where ratings stored on the database are varied through a predetermined non-linear function based on predetermined heuristic criteria.
Once the similarity metric is defined, the case-based system can attempt to recommend an item that has not been rated by the test user. Item recommendation is typically accomplished using a k-nearest neighbor algorithm to predict a rating that a test user will give to a particular item. The predicted rating is typically an average of ratings given by training users that have been determined to be similar to the test user, weighted according to the degree of similarity (i.e., correlation) between the training and test users. Further, only neighbors with positive correlations are typically considered in the recommendation process.
Case-based systems can be classified as item-item or user-user systems. In item-item systems, the k-nearest neighbors are other items which can be thought of as points embedded within a space whose dimensions (e.g., axes) correspond to users. In this view, the correlation coefficient can be regarded as computing a distance between two items in a space of users. In user-user systems, the k-nearest neighbors are other users which can be thought of as the distance between two points embedded within a space whose dimensions (e.g., axes) correspond to items. Accordingly, the correlation coefficient can be regarded as computing a distance between two users in a space of items.
Case-based systems are conceptually simple, intuitive, and produce reasonable predictions in many real-world applications. Further, case-based systems do not require a training phase because user-item combinations are generated and stored in real time and, therefore, their off-line computational requirements can be minimal. However, as the number of users, and as the number of items ratable by the users increases, the on-line computational requirements required, for example, to execute the k-nearest neighbor algorithm and predict ratings increases. Moreover, case-based systems do not allow for the discovery of possible hidden relationships existing between users, items, and ratings. Lastly, it can be difficult to improve the predictive performance of case-based systems because of the inherent heuristic criteria embedded within, for example, the k-nearest neighbor algorithm.
Unlike case-based systems, model-based systems generate preference predictions by inducing models from training data stored in a database. The induced models attempt to rationally explain the training data and are then used to predict a rating that a test user will give to a particular item. Typically, the model-induction process is performed by applying Bayesian network, clustering, decision tree, Gaussian mixture model, dimensional reduction model (e.g., factor analysis, principal component analysis, etc.) analyses to the training data. Because model-based systems undergo an intensive training phase to the induce models, their off-line computational requirements are much higher compared to the off-line computational requirements of case-based systems but their on-line computational requirements are relatively low.
Conventional model-based systems employing a clustering analysis wherein items and/or users within the training data are explicitly clustered into groups based on some similarity metric. A rating for a test user is then predicted simply by using ratings specific only to the groups generated from the training data that maximally fit with the test user and/or items to be rated. While such a clustering analysis to model-based systems can be useful, the manner in which users and items within the training data are clustered becomes critically important. Accordingly, conventional model-based systems employing a clustering analysis have a potential drawback in that the predictive accuracy of the model-based system will be adversely affected if the user and/or item groups are not appropriately clustered. Moreover, conventional model-based systems employing a clustering analysis have another drawback in that each user and/or item is clustered into only one group, resulting in predictions reflecting only one particular characteristic of the test user and/or items within the training data. In reality, however, it is possible for a user to be clustered into many groups based on, for example, interest, age, location, etc. Similarly, it is possible for an item to be clustered into many groups based on, for example, media type, genre, price, etc.